package com.ruoyi.system.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.PropertyBuilding;

/**
 * 小区/楼宇信息Mapper接口
 * 
 * @author ruoyi
 * @date 2025-10-27
 */
public interface PropertyBuildingMapper 
{
    /**
     * 查询小区/楼宇信息
     * 
     * @param buildingId 小区/楼宇信息主键
     * @return 小区/楼宇信息
     */
    public PropertyBuilding selectPropertyBuildingByBuildingId(Long buildingId);

    /**
     * 查询小区/楼宇信息列表
     * 
     * @param propertyBuilding 小区/楼宇信息
     * @return 小区/楼宇信息集合
     */
    public List<PropertyBuilding> selectPropertyBuildingList(PropertyBuilding propertyBuilding);

    /**
     * 新增小区/楼宇信息
     * 
     * @param propertyBuilding 小区/楼宇信息
     * @return 结果
     */
    public int insertPropertyBuilding(PropertyBuilding propertyBuilding);

    /**
     * 修改小区/楼宇信息
     * 
     * @param propertyBuilding 小区/楼宇信息
     * @return 结果
     */
    public int updatePropertyBuilding(PropertyBuilding propertyBuilding);

    /**
     * 删除小区/楼宇信息
     * 
     * @param buildingId 小区/楼宇信息主键
     * @return 结果
     */
    public int deletePropertyBuildingByBuildingId(Long buildingId);

    /**
     * 批量删除小区/楼宇信息
     * 
     * @param buildingIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePropertyBuildingByBuildingIds(Long[] buildingIds);

    // 查询物业下的所有楼盘
    List<PropertyBuilding> selectByCompanyId(Long companyId);

    // 统计楼盘的房屋总数和已入住数
    Map<String, Object> selectHouseStatistics(Long buildingId);
}
